Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Pozoblanco Challenger Segovia Challenger Istanbul Challenger Bratislava 2 Challenger Santa Fe 2 Challenger Brasilia Challenger Ottignies-Louvain-la-Neuve Challenger M25 Recife Ostrava Challenger Concepcion Challenger Internazionali BNL d'Italia - Rome Zagreb Challenger Brasov Challenger Istanbul Challenger Hangzhou Open - Hangzhou Campinas Challenger Shanghai Rolex Masters - Shanghai Almaty Open - Almaty Banja Luka Challenger BNP Paribas Open - Indian Wells Rosario Challenger Maia Challenger Sao Paulo Challenger Adelaide International - Adelaide Australian Open - Melbourne Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Zadar Challenger San Luis Potosi Challenger Mutua Madrid Open - Madrid Tiriac Open - Bucharest Hamburg Open - Hamburg Wimbledon - London Mifel Tennis Open - Los Cabos Nordea Open - Bastad U.S. Open - New York Barranquilla Challenger Cincinnati Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Bosnia & Herzegovina F2 Croatia F8 Bosnia/Herzegovina F6 Bosnia/Herzegovina F1 Bosnia & Herzegovina F2 Croatia F7 Croatia F8 Israel F3 Croatia F1 Croatia F2 Italy F6 Italy F7 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Serbia F1 Serbia F2 Serbia F3 Serbia F7 Croatia F7 Croatia F8 Croatia F9 Croatia F10 Croatia F12 Croatia F13 Croatia F14 Turkey F32 Turkey F33 Turkey F3 Turkey F4 Croatia F1 Italy F1 Italy F2 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Bosnia & Herzegovina F5 Italy F20 Croatia F12 Turkey F2 Croatia F1 Croatia F2 Italy F1 Italy F5 Bulgaria F1 Bosnia & Herzegovina F4 Serbia F3 Argentina F14 Argentina F15 Argentina F18 Croatia F12 Argentina F1 Argentina F2 Argentina F3 Argentina F4 Argentina F5 Argentina F6 Mexico F1 Mexico F2 Mexico F3 Mexico F4 Argentina F8 Argentina F9 Argentina F10 Argentina F11 Argentina F14 Croatia F11 Argentina F15 Argentina F16 Argentina F18 Argentina F19 Argentina F20 USA F7 USA F9 Argentina F1 Argentina F2 Chile F4 Chile F5 Spain F13 Italy F11 Great Britain F7 Argentina F8 Argentina F9 Argentina F13 Argentina F14 Argentina F7 Brazil F6 Brazil F7 Peru F5 Peru F6 USA F7 USA F8 USA F9 Argentina F3 Argentina F4 Argentina F5 Argentina F7 Argentina F8 USA F8 Belgium F4 Belgium F5 Belgium F6 Italy F23 Switzerland F3 Switzerland F4 Switzerland F5 Belgium F13 Belgium F14 Argentina F11 Argentina F12 Argentina F13 Uruguay F1 Uruguay F2 Uruguay F3 Tunisia F7 (Hammamet) Tunisia F8 (Hammamet) Croatia F2 (Porec) Croatia F3 (Umag) Croatia F4 (Opatija) Italy F8 (Santa Margherita Di Pula) Italy F9 (Santa Margherita Di Pula) Italy F10 (Santa Margherita Di Pula) Italy F12 (Napoli) Belgium F3 (De Haan) Belgium F4 (Lasne) Czech Republic F6 (Brno) France F2 (Bressuire) Germany F2 (Nussloch) Switzerland F1 (Oberentfelden) Italy F7 (Santa Margherita Di Pula) France F10 (Toulouse) France F11 (Montauban) Switzerland F3 (Sion) Switzerland F4 (Neuchatel) M15 Portimao Argentina F6 M15 Quinta Do Lago M15 Pinamar M25 Santa Margherita Di Pula Argentina F9 M25+H Bacau M15 Sao Jose Do Rio Preto M15 Curitiba M25 Portoviejo M25 Irpin M25 Naples Italy F24 Tunisia F9 (Hammamet) Italy F7 (Santa Margherita Di Pula) Italy F11 (Santa Margherita Di Pula) Argentina F3 (Villa Maria) Slovakia F3 (Bratislava) Poland F9 (Bydgoszcz) Germany F3 (Kaarst) Switzerland F2 (Bellevue) Italy F6 (Santa Margherita Di Pula) Italy F8 (Santa Margherita Di Pula) Italy F9 (Santa Margherita Di Pula) Italy F22 (Cornaiano) Argentina F6 (Buenos Aires) M25 Trujillo M25 Santa Margherita Di Pula M25 Doboj M15 Brcko M25 Buenos Aires M15 Buenos Aires M25 Lima M25 Oviedo Sarajevo Challenger M25 Vila Real de Santo Antonio Santos Challenger Kosice Challenger San Marino Challenger M15 Rosario Como Challenger Brasov Challenger Trnava Challenger Lermontov Challenger Brazil F15 M25 Arequipa Cherbourg Challenger Sarajevo Challenger Ostrava Challenger Rome Challenger Prostejov Challenger Kosice Challenger Poznan Challenger Liberec Challenger Alphen Challenger Casablanca Challenger Bratislava Challenger Bergamo Challenger Irving Challenger Mersin Challenger Samarkand Challenger Arad Challenger Kosice Challenger Braunschweig Challenger San Benedetto Challenger Poznan Challenger Tampere Challenger Meknes Challenger Kenitra Challenger Tashkent Challenger San Juan Challenger Geneva Challenger Bratislava Challenger Montevideo Challenger Santo Domingo Challenger Morelos Challenger Irving Challenger San Luis Potosi Challenger Mersin Challenger Moscow Challenger Braunschweig Challenger San Benedetto Challenger Alphen Challenger Kenitra Challenger Casablanca Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Guadalajara Challenger Prostejov Challenger Scheveningen Challenger Casablanca Challenger Santiago Challenger Blois Challenger Liberec Challenger Santo Domingo Challenger Quito Challenger Bogota Challenger Campinas Challenger Buenos Aires Challenger Cali Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Santiago Challenger Santiago Challenger Ostrava Challenger Braga Challenger Lisbon Challenger Mestre Challenger Poznan Challenger Lyon Challenger Liberec Challenger Cordenons Challenger Santo Domingo Challenger Montevideo Challenger BH Indoor Sarajevo - Sarajevo Punta Del Este Challenger Rome Challenger L'Aquila Challenger New Haven Challenger Banja Luka Challenger Buenos Aires Challenger Campinas Challenger Santo Domingo Challenger Lima Challenger Guayaquil Challenger Bratislava Challenger Montevideo Challenger Bendigo Challenger Morelos Challenger Todi Challenger Parma Challenger Barcelona Challenger Alicante Challenger Guayaquil Challenger Sao Paulo Challenger Belgrade Challenger Zagreb Challenger Salzburg-Anif Challenger Lexington Challenger Quito Challenger Ambato Challenger Sibiu Challenger Barcelona Challenger Buenos Aires Challenger Bratislava Challenger Montevideo Challenger Helsinki Challenger Sao Paulo Challenger Quimper Challenger Pereira Challenger Turin Challenger Mexico City Challenger Aguascalientes Challenger Cali Challenger Bogota Challenger Rome Challenger Meerbusch Challenger Santo Domingo Challenger Banja Luka Challenger Como Challenger Sibiu Challenger Charleston Challenger Las Vegas Challenger Charlottesville Challenger Yokohama Challenger Noumea Challenger Vilnius Challenger Puerto Vallarta Challenger Mexico City Challenger San Luis Potosi Challenger Prague 2 Challenger Tyler Challenger Bratislava 1 Challenger Lima Challenger Danderyd Challenger Bogota Challenger Santo Domingo Challenger Piracicaba Challenger Trieste Challenger Heilbronn Challenger Sassuolo Challenger Cali Challenger Banja Luka Challenger Cary 2 Challenger Buenos Aires Challenger Helsinki Challenger Brest Challenger Mallorca Challenger Columbus Challenger Campinas Challenger Curitiba Challenger Trnava Challenger Cali Challenger Ostrava Challenger Morelos Challenger Andria Challenger Barletta Challenger Sarajevo Challenger Cap Cana Challenger Blumenau Challenger Mohammedia Challenger Sao Paulo Challenger Sibiu Challenger Milan Challenger Arad Challenger Manama Challenger Mohammedia Challenger Perugia Challenger Cordenons Challenger Aptos Challenger Banja Luka Challenger Vancouver Challenger Lisbon Challenger Champaign Challenger Punta Del Este Challenger Kazan Challenger Rio De Janeiro Challenger Columbus Challenger Monterrey Challenger Trieste Challenger Cordenons Challenger Campinas Challenger Marbella Challenger Oeiras 3 Challenger Genova Challenger Nottingham 1 Challenger Cordoba Challenger Meerbusch Challenger Tulln Challenger Helsinki Challenger Brasilia Challenger Rio De Janeiro Challenger Corrientes Challenger Traralgon Challenger Buenos Aires Challenger Santa Cruz de la Sierra Challenger Morelos Challenger Heilbronn Challenger Mauthausen Challenger Zagreb Challenger Split Challenger Alphen Challenger Buenos Aires 3 Challenger Buenos Aires Challenger Montevideo Challenger Cordenons Challenger Nottingham 2 Challenger Cary Challenger Orleans Challenger Ambato Challenger Santiago 3 Challenger Kobe Challenger Temuco Challenger Florianopolis Challenger Concepcion Challenger Bordeaux Challenger Lugano Challenger Ostrava Challenger San Luis Potosi Challenger Buenos Aires Challenger Leon Challenger Vicenza Challenger Tunis Challenger Poznan Challenger Zug Challenger Salzburg Challenger Iasi Challenger Lima Challenger Vancouver Challenger Campinas Challenger Bogota Challenger Buenos Aires Challenger Matsuyama Challenger Drummondville Challenger Ismaning Challenger Monterrey Challenger Antalya Challenger Canberra Challenger Piracicaba Challenger Santo Domingo Challenger Aix En Provence Challenger Biella Challenger Lisbon Challenger Ismaning Challenger Rome 2 Challenger Acapulco Challenger Merida Challenger San Luis Potosi Challenger Mexico City Challenger Curitiba Challenger Liberec Challenger Cuernavaca Challenger Split Challenger Oeiras 4 Challenger Lima Challenger Tunis Challenger Santiago 2 Challenger Buenos Aires Challenger Tigre Challenger Phoenix Challenger Granby Challenger Prague 2 Challenger Corrientes Challenger Nottingham 2 Challenger Lyon Challenger Ilkley Challenger Campinas Challenger Iasi Challenger Calgary Challenger Chicago Challenger Bonn Challenger Waco Challenger Manacor Challenger Antofagasta Challenger Las Vegas Challenger Buenos Aires Challenger Villa Maria Challenger Curitiba Challenger Bratislava 2 Challenger Cuernavaca Challenger Knoxville Challenger Lyon Challenger Drummondville Challenger Szekesfehervar Challenger Montemar Challenger Canberra Challenger Zadar Challenger Punta Del Este Challenger Lima 2 Challenger Merida Challenger Studena Croatia Open - Umag Cordoba Challenger Mexico City Challenger Bergamo Challenger Santiago Challenger Morelia Challenger Oeiras 5 Challenger Little Rock Challenger Nottingham 2 Challenger Brasov Challenger Lyon Challenger Bendigo Challenger Trieste Challenger Columbus Challenger Open 13 - Marseille Winston-Salem Challenger Buenos Aires Challenger Winston-Salem Open - Winston-Salem Aircel Chennai Open - Chennai PBZ Zagreb Indoors - Zagreb Grand Prix Hassan II - Casablanca Geneva Open - Geneva Qatar ExxonMobil Open - Doha Garanti Koza Sofia Open - Sofia Abierto Mexicano Telcel - Acapulco BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Open de Nice Cote d'Azur - Nice Forli 5 Challenger Konzum Croatia Open - Umag Moselle Open - Metz Dubai Duty Free Tennis Championships - Dubai Bet-at-home Open - Hamburg Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen Plava Laguna Croatia Open - Umag Abierto Mexicano - Los Cabos St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo Erste Bank Open - Vienna ABN AMRO World Tennis Tournament - Rotterdam Geneva Open - Geneva Turkish Airlines Open Antalya - Antalya Kremlin Cup - Moscow Erste Bank Open - Vienna Cordoba Open - Cordoba Open Sud de France - Montpellier Monterrey Challenger Abierto Mexicano Telcel - Acapulco Karlsruhe Challenger bett1HULKS Championships - Cologne Astana Open - Nur-Sultan Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Hamburg European Open - Hamburg Kremlin Cup - Moscow Plava Laguna Croatia Open - Umag St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Grand Prix Hassan II - Marrakech Banja Luka Open - Banja Luka Plava Laguna Croatia Open - Umag Hangzhou Open - Hangzhou Lille Challenger Cordoba Open - Cordoba Open 13 Provence - Marseille Stockholm Open - Stockholm Stockholm Open - Stockholm Temuco Challenger Japan Open Tennis Championships - Tokyo Hungarian Open - Budapest Belgrade Open - Belgrade Movistar Chile Open - Santiago Astana Open - Astana PBZ Zagreb Indoors - Zagreb Barcelona Open Banc Sabadell - Barcelona Mercedes Cup - Stuttgart Brisbane International - Brisbane BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Vegeta Croatia Open - Umag Bet-at-home Open - Hamburg Winston-Salem Open - Winston-Salem Apia International - Sydney Memphis Open - Memphis Delray Beach Open - Delray Beach Aegon Nottingham Open - Nottingham Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow Erste Bank Open - Vienna Garanti Koza Sofia Open - Sofia Memphis Open - Memphis Delray Beach Open - Delray Beach Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul Erste Bank Open - Vienna Open Parc - Lyon Antalya Cup - Antalya St. Petersburg Open - St. Petersburg China Open - Beijing Kremlin Cup - Moscow Konzum Croatia Open - Umag Erste Bank Open - Vienna Brisbane International - Brisbane Sydney International - Sydney Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul AEGON Championships - London German Tennis Championships - Hamburg Shenzhen Open - Shenzhen Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Argentina Open - Buenos Aires SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Zhuhai Open - Zhuhai China Open - Beijing New York Open - New York Delray Beach Open - Delray Beach Boss Open - Stuttgart Open Sud de France - Montpellier Japan Open Tennis Championships - Tokyo If Stockholm Open - Stockholm Anytech365 Andalucia Open - Marbella Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Serbia Open - Belgrade BMW Open - Munich Aircel Chennai Open - Chennai San Diego Open - San Diego Firenze Open - Florence Cordoba Open - Cordoba Qatar ExxonMobil Open - Doha Dallas Open - Dallas Plava Laguna Croatia Open - Umag Qatar ExxonMobil Open - Doha Bucharest Open - Bucharest Dubai Duty Free Tennis Championships - Dubai Movistar Chile Open - Santiago Gonet Geneva Open - Geneva Mallorca Championships - Mallorca Open 13 Provence - Marseille Abierto Mexicano de Tenis Mifel - Los Cabos Qatar ExxonMobil Open - Doha European Open - Brussels Dubai Duty Free Tennis Championships - Dubai BNP Paribas Open - Indian Wells Sony Open Tennis - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Western & Southern Open - New York Miami Open - Miami National Bank Open - Toronto Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Monte-Carlo Rolex Masters - Monte-Carlo Wimbledon - London Miami Open - Miami Australian Open - Melbourne Shanghai Rolex Masters - Shanghai U.S. Open - New York Australian Open - Melbourne Wimbledon - London French Open - Paris U.S. Open - New York BNP Paribas Open - Indian Wells Australian Open - Melbourne French Open - Paris Wimbledon - London Internazionali BNL d'Italia - Rome Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York U.S. Open - New York French Open - Paris French Open - Paris Davis Cup, Europe/Africa Group II, 2R, EST-BIH 2-3 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group II, 3R, DEN-BIH 3-2 Davis Cup, Group II, 1R, BIH-LUX 4-1 Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 1R, BIH-GRE 3-1 Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, Group II, 2R, BIH-TUR 3-1 Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Group I, 1R, BIH-MEX 3-1 Davis Cup, Group I, PO, UZB-BIH 1-3 Wimbledon - London U.S. Open - New York U.S. Open - New York Davis Cup, Group I, 1R, BIH-GER 0-4 Wimbledon - London Wimbledon - London French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) U.S. Open - New York French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) All Lower level tournaments Davis Cup, World Group I, 1R, TPE-BIH 3-2 Olympics - Rio de Janeiro Nordea Open - Bastad Davis Cup, Group I, 1R, ECU-BIH 3-2 Davis Cup, Group II, 2R, BLR-BIH 4-1 Davis Cup, Group II, 2R, FIN-BIH 2-3 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group I, 1R, BIH-POL 5-0 Davis Cup, Group I, 2R, BIH-NED 1-3 Davis Cup, Group I, 2R, SVK-BIH 2-3 Davis Cup, World Group I, PO, BIH-RSA 3-1 Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group I, PO, BUL-BIH 1-3